Skip to content

runtime: Classify top level sce command failures with typed user-error catalog - #223

Open
stefanskoricdev wants to merge 8 commits into
mainfrom
feat/improve-cli-errors
Open

runtime: Classify top level sce command failures with typed user-error catalog#223
stefanskoricdev wants to merge 8 commits into
mainfrom
feat/improve-cli-errors

Conversation

@stefanskoricdev

@stefanskoricdev stefanskoricdev commented Aug 20, 2026

Copy link
Copy Markdown
Contributor
  • Added typed user-error classification for sync, auth, setup, config, doctor, and version
    commands.
  • Introduced stable catalog errors for authentication, credential storage, missing Git
    repositories, and unexpected failures.
  • Preserved technical error sources for logging while emitting redacted, user-safe terminal
    messages.

@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sce-config-json Ready Ready Preview Aug 26, 2026 1:46pm

Request Review

@stefanskoricdev
stefanskoricdev force-pushed the feat/improve-cli-errors branch from 1c1f349 to 97714cb Compare August 20, 2026 13:05
@stefanskoricdev stefanskoricdev changed the title runtime: Classify sync failures with typed user-error catalog runtime: Classify top level sce command failures with typed user-error catalog Aug 21, 2026
@stefanskoricdev
stefanskoricdev marked this pull request as ready for review August 21, 2026 08:58
stefanskoricdev and others added 3 commits August 24, 2026 13:26
Expose credential-storage and
 unexpected sync failures through the closed user-error catalog, preserving technical sources for observability
 while emitting redacted, unstyled terminal messages. Add typed storage predicates across sync error layers.

Co-authored-by: SCE <sce@crocoder.dev>
Classify authentication, storage, and fallback failures through the shared
 CliError user-error catalog while preserving technical sources for observability.

Co-authored-by: SCE <sce@crocoder.dev>
Expose missing Git repository failures through the stable user-error catalog while preserving
 technical sources for observability.

Co-authored-by: SCE <sce@crocoder.dev>
Classify credential-storage failures from stream batches and refreshes as
`auth.storage_unavailable` instead of generic unexpected failures while preserving
the typed technical source for observability. Add focused terminal and refresh
coverage and update the sync error documentation.

Plan: fix-pr-223-error-classification-regressions (T01)

Co-authored-by: SCE <sce@crocoder.dev>
Distinguish Git-confirmed non-repository directories from unexpected resolution failures so setup reports the correct stable user error without misclassifying missing or inaccessible paths. Preserve the technical source through the typed setup error and add focused classification and source-preservation tests.

Plan: fix-pr-223-error-classification-regressions (T02)

Co-authored-by: SCE <sce@crocoder.dev>
Distinguish a missing Git repository from other Git command failures using the
command's leading diagnostic instead of matching any later occurrence of the
phrase. Normalize Git's locale and preserve typed command errors so unexpected
failures retain their original cause and diagnostics.

Co-authored-by: SCE <sce@crocoder.dev>
Treat missing credentials as successful logout and whoami state queries while preserving typed failures for authenticated and storage errors. Add text/JSON regression coverage and update the documented command and error contracts.

Plan: fix-pr-223-error-classification-regressions (T03)

Co-authored-by: SCE <sce@crocoder.dev>
Prevent `auth logout` and unauthenticated `whoami` text output from acquiring ANSI styling in non-color contexts by passing the renderer's color decision explicitly. Preserve JSON payloads and existing logout semantics, and record the completed regression criteria and validation evidence.

Plan: fix-pr-223-error-classification-regressions (AC1–AC7)

Co-authored-by: SCE <sce@crocoder.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants